package com.project.im.common.enums;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public enum ResponseCode {

    SUCCESS("0", "success"),
    // 通用异常
    FAIL("1", "fail"),
    // 未知异常
    UNKNOWN_ERROR("2", "unknown error"),
    // 参数异常
    PARAM_ERROR("3", "param error"),
    // 认证异常
    AR100("AR100", "认证失败"),
    AR101("AR101", "token无效"),
    AR102("AR102", "token已过期"),
    AR103("AR103", "用户不存在"),
    AR104("AR104", "请求头格式有误"),
    // 鉴权异常
    PR100("PR100", "权限不足"),

    // 业务异常
    // US: 用户管理
    US100("US100", "用户名或密码错误"),
    US101("US101", "用户已存在"),
    US102("US102", "用户不存在"),
    US103("US103", "必填字段缺失"),
    US104("US104", "账户被锁定"),
    ;

    private final String code;
    private final String msg;

}
